package com.easonji.attendance.service;

import com.easonji.attendance.model.RecordState;
import com.easonji.common.base.query.BaseQuery;

import java.util.List;


/**
 * <p>
 * 补卡状态 服务类
 * </p>
 *
 * @author easonji
 * @since 2018-10-05
 */

public interface IRecordStateService  {

    /**
    * 查询补卡状态列表
    *
    * @param baseQuery 补卡状态列表查询条件
    *
    * @return 补卡状态列表
    */
    Object queryList(BaseQuery baseQuery);

    /**
    * 根据补卡状态ID，查询补卡状态信息
    *
    * @param resId 补卡状态ID
    *
    * @return 补卡状态信息
    */
    Object queryRowById(Integer resId);

    /**
    * 添加 补卡状态
    *
    * @param recordState 补卡状态表单
    * @return 添加结果
    */
    Integer save(RecordState recordState);

    /**
    * 修改 补卡状态
    *
    * @param recordState  补卡状态表单
    * @return 修孜结果
    */
    Integer  update(RecordState recordState);

    /**
    * 删除 补卡状态
    *
    * @param resId  补卡状态表单
    * @return 删除结果
    */
    Integer  delete(Integer resId);

    /**
     * 通过审核人查询已审核过的 补卡 ID
     * @param auditor
     * @return
     */
    List<Integer> queryRecordIdByauditor(Integer auditor);

    /**
     * 通过申请表找第一条未审核的记录
     * @param oId
     * @return
     */
    RecordState queryRecordStateasc(Integer oId);

}
